Transparent Spider

ABSTRACT

A timing bridge device is used to gain boundary and transparent clock functionality using conventional network components on those network links that require good timing distribution. This timing path is invisible to the network component.

BACKGROUND

In the field of telecommunications, wireless base stations includeglobal positioning software (GPS) to synchronize among themselves.Installation and maintenance of GPS at each site is expensive. In denseurban environments, communication between the sites can be poor due totall buildings and poor signal strength within them. Some base stationsinclude dedicated backhaul timing circuits that are expensive. Otherfields that require distributed precision time include packet switchedtelecommunications in metropolitan areas, control, test and measurementapplications, and military systems.

In the aforementioned applications, the existing network, e.g. Ethernet,is used to accommodate the timing purposes as well as the traffictransport. To meet this requirement, Ethernet requires recovery oftiming. Timing protocols, e.g. IEEE 1588 standard, can be implemented torecover time. Timing inaccuracies are introduced by the delays, delayasymmetries, and jitter from the following network related sources:physical layers, cables, and network devices, e.g. routers, switches,low-accuracy boundary clocks, and low- accuracy transparent clocks.

FIG. 1 illustrates a prior art system. A timing source, e.g. agrandmaster clock, communicates to two ordinary clocks via a series ofnetwork infrastructure components, e.g. switches, routers, repeaters, orlow accuracy boundary clocks. In actual implementation, these arestandard Ethernet switches and routers used establish networkcommunications for the other devices shown. These devices introducetiming jitter that degrades the synchronization accuracy between thetiming source and the ordinary clocks. One example is where the ordinaryclocks are part of wireless micro-cell base stations within a largeoffice building. In this case, the Ethernet forms the backhaul to thebase station switch for data transmission. The synchronization is metwith a separate and expensive time distribution system (not shown).

SUMMARY

A timing bridge device is used to gain boundary and transparent clockfunctionality using conventional network components on those networklinks that require good timing distribution.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an applications requiring timing.

FIG. 2 illustrates a diagram of the present invention.

FIG. 3 illustrates a timing diagram of the bridges.

FIG. 4 illustrates a block diagram for the time bridge device.

FIG. 5 illustrates an embodiment of the internals of the bridgecomponents.

FIG. 6 shows the details for the M1 message inbound on A-1 and outboundon A-2.

DETAILED DESCRIPTION

A dedicated timing path is provided around a device, e.g. switch orrouter, that inherently introduces timing jitter in a network. Thistiming path is invisible to the device.

FIG. 2 illustrates an embodiment of the dedicated timing system. In thissystem, each network infrastructure element N_(x) is bridged by acollection of devices A, B-x, A, where x is an integer.

Each bridge transfers the time to eliminate any jitter in the device andthereby improves the accuracy within the system. To keep costsminimized, the bridges can be introduced solely in the network pathsbetween the timing source and the devices that require good timing.

FIG. 3 illustrates a timing diagram for a timing bridge device. Mostnetwork based synchronization protocols exchange timing messages betweenat least two clocks. In general, the timing protocols have similarprinciples with minor differences in implementation. To facilitateunderstanding, IEEE 1588 will be used in this example.

A master sends a message M1, e.g. Sync, to the slave. Both master andslave timestamp the message as close to the network interface aspossible (t1 and t2). The timestamp generated at the master, t1, is sentto the slave as a field in the Sync message or in a non-time criticalmessage M2, e.g. Follow_Up. The process is reversed with the slavedsending a message M3, e.g. Delay_Req, to the master. Both master andslave timestamp the message as close to the network interface aspossible, t3 and t4. The timestamp generated at the master, t4, is sentto the slave in a non-time critical message M4, e.g. Delay_Resp. Oncethe slave has all four timestamps t1, t2, t3, and t4, it can compute themean propagation time (t−ms+t−sm)/2 and the clock offset.

The timed messages, M1 and M3, pass through a switch that includesvariable delay (jitter) that introduces uncertainty into the computationof delay and offset.

This delay is removed by the time bridge device shown in FIG. 2 andshown in more detail in FIG. 4. The example is shown where theinfrastructure device is a switch router, or repeater. In FIG. 4, justan equivalent portion of the original system is shown.

The path from the grandmaster clock to an ordinary clock, clock 1, isdescribed. At the upstream side of the switch, e.g. the side toward thegrandmaster, a M1 message arrives that contains a timestamp t1. Thismessage is timestamped at entry with timestamp (tbm1−1), e.g. the timethe packet entered this device is read on the internal timer clock B-2of the bridge. The message passes through the switch and at the output“A” unit headed to ordinary clock, the timestamp (tbm1−2) is generatedbased on the timer B-2. The actual delay experienced by M1 within theswitch t1d=(tbm1−2)−(tbm1−1) as illustrated. This value is added to thetimestamp t1 or to a correction field contained in M1 as it leaves thebridge. A similar process occurs for M3 messages going from ordinaryclocks to the grandmaster. The net result is that the recipients oftiming messages, e.g. a master clock in the case of M3, and a slave inthe case of M1, also receive information that enables the correction ofthe timestamps for the time the messages spend in the switch. Thiseffectively removes the timing jitter.

FIG. 5 illustrates an embodiment of the internals of the bridgecomponents. The timing unit “B” contains a timer, a free running orpossibly syntonized clock. All “A” units have time calibrated accesspaths to this timer so that when a timing packet is detected by one ofthe packet recognizers an appropriate timestamp can be generated. Thesetimestamps are used to compute the delay or residence time of a timingmessage within the switch and these correction values from all switchesin the path are used by the slave to correct the timestamps received bythe master. It is important that all devices share the same calibrationof the second, to the required accuracy, as the grandmaster.

Since the oscillators driving such timers and the grandmaster clockitself are typically 0.01% accurate, the error in computing a residencetime in the switch can be as much as 0.02%. If this is significantcompared to the required accuracy, then additional functionality isadded to the B unit to allow syntonization with the grandmaster, e.g.adjust the frequency to agree to better than the 0.02%. This is donebased on the B unit receiving the actual message M1 and over time usingthis information to adjust the timer rate. This information if requiredwould be picked up by any A unit receiving a M1 message and transferredover the dotted channel to the B units control circuits. To illustrate,when the residence time is 1 ms and the oscillator mismatch is 0.02%,the error in measuring the residence time is 200 ns which for highaccuracy applications is unacceptable. However, for accuracies ofseveral microseconds this may be satisfactory. Syntonizing to provide anoscillator (timer mismatch) of 0.00002% reduces the inaccuracy to 0.2ns. In this instance, the packet recognizers need to deliver the receipttimestamp for M1 messages and the timestamp inserted by the grandmaster(t1) or pass the entire message to the B-2 control circuits where it canbe extracted.

Suitable packet recognizers, such as disclosed in U.S. Pat. No.5,566,180, can distinguish M1 or M3 messages. When a M1 or M3 message isdetected, the packet recognizer takes a snapshot of the B-2 timer andpasses this information to the correct place as follows:

-   For an inbound M1 or M3 message, the timestamps are delivered to all    other A units.-   For an outbound M1 or M3 message, the timestamp is delivered to the    adder in the same A unit.

For outbound M message at an A unit, the local outbound timestamp is fedto the + side of the adder while the timestamp received from the A unitthat detected this same message on the inbound side is fed to the −side. The difference is inserted in the outbound M message. Thenecessary corrections to CRCs are done as the packet leaves the A unitas part of the insertion process. To illustrate, for IEEE 1588, theinsertion process can be done between the physical layer (PHY) and themedia access control layer (MAC).

To associate the inbound and outbound timestamps with the same message,one of the following may be done:

-   The inbound timestamps plus enough other data to correctly associate    this timestamp with the outbound packet on the companion A units is    passed to the companion units via a channel connects A units via the    controller in the B unit indicated by the dashed lines in FIG. 5. In    this embodiment, the only on-the fly modification of the timing    packets occurs in the outbound A unit, as illustrated in FIG. 5.    -   The inbound timestamp is subtracted by the inbound A unit from a        designated field or part of a special “extension” field already        present in the timing packet. The outbound time stamp is added        by the outbound A unit to the correction field thus generating        the difference. For IEEE 1588 V2, this designated field is the        “correction field”. The additional A unit functions on the        inbound side for this are shown in FIG. 6. FIG. 6 shows the        details for the M1 message inbound on A-1 and outbound on A-2.        Alternatively, the timestamp contained in the message can be        corrected.

The slaves that receive the timing packets must know which of the abovevariants is used. For example, when the residence time correctionscomputed by the A units in upstream switches has been included into thetiming message timestamps then the slave does not need to do anyadditional processing beyond that implied by the normal protocoldescribed in the discussion of FIG. 3. When the residence timecorrections have been accumulated in a correction field, whether nativein the packet or part of a special extension field, this accumulatedcorrection must be added appropriately to the timestamp by the slave. Inpractice, if the device of the invention includes the correction in thetimestamp, it should not modify the correction field and vice versa. Ifthis is done, the slave can simply add the correction field timestampand will always get the correct results.

The aforementioned description is appropriate for switches, repeaters,and routers.

To improve the accuracy of boundary clocks, the boundary clock must bemade to look like an ordinary switch for the corrected packets. At thesame time, the boundary clock must receive timing packets for use onother ports not requiring the corrections for higher accuracy. This canbe done by operating two independent timebases from the grandmasterclock. One timebase is used by the low accuracy components, e.g.boundary clocks and ordinary clocks, while the other uses the timingbridge device to bypass the boundary clocks. The slaves requiring highaccuracy use the high accuracy timebase. The grandmaster clock ensuresthat both timebases are synchronized by running the protocol off of acommon clock.

The boundary clock must appear like an ordinary switch to the secondtimebase. The inbound A unit change an appropriate feature of the packetwhile meeting the following criteria:

-   It no longer appears as a timing packet.-   The same “networking addressing” is maintained so that it is    correctly routed by the switch function of the boundary clock.-   It is recognized by the outbound A unit as a timing packet.

The outbound A units then restore the modified feature. For IEEE 1588 onEthernet layer 2, the multicast Ethernet addresses would not be modifiedbut the layer 2 Ethertype assigned to IEEE 1588 could be changed toanother Ethertype assigned for this purpose. The boundary clock wouldrecognize the first as 1588 but would treat the second as a non-1588packet, i.e. appear as an ordinary switch. At the internet protocol (IP)level, the same thing could be done with different port numbers, i.e.translating the 1588 assigned numbers 319 and 320 into to differentnumbers assigned to this technique. If the boundary clocks are designedto ignore some protocol specific “scoping” field, e.g. IEEE-1588“subdomain” field, then the same technique may be applied.

Alternatively, the time bridge device may be designed to respond solelyto the second timebase with the second timebase selected such that theboundary clocks do not parse the packets as timing packets but simplyoperate as a switch. In this embodiment, the ordinary clock receivingthese high accuracy packets must also recognize solely the secondtimebase.

The timing bridge device requires that the paths implemented by designedto ensure that there are no loops and the grandmaster clock is visiblefrom all slaves needing the service. Further, the grandmaster clock hasthe capability of spporting the number of slaves using the service.Boundary clocks, as described by IEEE 1588, eliminate these loops andlimit the loads on any given master clock.

Although the A and B units have been described as separate componentslinked together via wires, it is possible to have all the A units andthe B units implemented in a single box, integrated circuit, or fieldprogrammable gate array. The integrated solutions permit better timingperformance by minimizing the distance and calibration needed betweenthe timer in the B unit and the packet recognizers in the A units.Locating all A units in a single device requires short cables from theswitch side of the A units (the side with the dark band in the Figures)to the switch itself. Since these cables appear between two A units,their delays are indistinguishable from delays in the switch itself andcan be corrected as has been described.

1. A method comprising: for a network device connected in parallel witha time bridge device having an internal time clock, receiving a messagethat contains a timestamp t1 by the time bridge device; timestamping themessage that contains the timestamp t1 according to the internal timeclock; timestamping the message as it leaves the switch according to theinternal time clock; determining a transit delay that corresponds to thetime the message spends in the switch; and adjusting the time associatedwith the message by the transit delay.
 2. A method as in claim 1,wherein adjusting the time associated with the message by the transitdelay comprises adjusting the timestamp t1 by the transit delay.
 3. Amethod as claim 1, wherein adjusting the time associated with themessage by the transit delay comprises adjusting a correction field bythe transit delay.
 4. A method as in claim 1, wherein the message issent from a grandmaster clock to a clock.
 5. A method as in claim 1,wherein the message is sent from a clock to a grandmaster clock.
 6. Amethod as in claim 1, wherein the network device is selected from agroup comprising switches, routers, and repeaters.
 7. A method as inclaim 1, the time bridge device further including: a timer; and a timingpacket recognizer.
 8. A method as in claim 5, wherein: the clock is alow accuracy boundary clock having a message format; and the messageformat is used for timing data by the clock and grandmaster clock.
 9. Adevice comprising: two units electrically connected, each having aninbound path and an outbound path, each path including, a shift registerinterposing a physical layer and a media access control layer, a packetrecognizer receiving the output of the shift register, the shiftregister loading a message, the inbound path including an adder, havinga positive input connected to its packet recognizer and a negativeinput, having an output connected to its shift register for adjustingtiming in the message, and the outbound path including an adder,receiving a first and a second input from its packet recognizer and anoutput connected to its media access control layer; and a timing unit,interposing the two units, including, a timer connecting to the packetrecognizers of the two units, generating timer readings, and acontroller connecting to the timer and the packet recognizers of theoutbound paths of the two units, receiving external control signals; foreach unit, the packet recognizer of the outbound path connected to thenegative input of the adder of the other unit.
 10. A system comprising:at least two network devices electrically connected, each deviceconnected to a timing bridge device having an inbound path and anoutbound path, each path including, a shift register interposing aphysical layer and a media access control layer, a packet recognizerreceiving the output of the shift register, the shift register loading amessage, the inbound path including an adder, having a positive inputconnected to its packet recognizer and a negative input, having anoutput connected to its shift register for adjusting timing in themessage, and the outbound path including an adder, receiving a first anda second input from its packet recognizer and an output connected to itsmedia access control layer; a timer connecting to the packet recognizerof the inbound and the outbound path, generating timer readings; and acontroller connecting to the timer and the packet recognizer of theoutbound path, receiving external control signals; wherein the packetrecognizer of the outbound path generating signals for a second pathincluding a “A” units have time calibrated access paths to this timer sothat when a timing packet is detected by one of the packet recognizersan appropriate timestamp can be generated.